package com.qtrue.exer;

/**
 * @Package: com.qtrue.exer
 * @ClassName: ThreadDemo
 * @Author: xiaoBao
 * @CreateTime: 2022-04-26 11:25
 * @Description:线程的练习01：以子类继承Thread类重写run()的方式。
 *      练习：创建两个分线程，其中一个遍历100以内的偶数，另一个线程遍历100以内的奇数。
 */
public class ThreadDemo {
    public static void main(String[] args) {
        // 方式一：创建线程类的对象
//        MyThread01 m1 = new MyThread01();
//        MyThread02 m2 = new MyThread02();
//
//        // 调用start()启动线程
//        m1.start();
//        m2.start();

        // 方式二：创建Thread类的匿名子类
        new Thread() {
            @Override
            public void run() {
                for(int i = 0;i < 100;i++) { // 遍历100以内的偶数
                    if(i % 2 == 0){
                        System.out.println(Thread.currentThread().getName() + "：" + i);
                    }
                }
            }
        }.start();

        new Thread() {
            @Override
            public void run() {
                for(int i = 0;i < 100;i++) { // 遍历100以内的奇数
                    if(i % 2 != 0){
                        System.out.println(Thread.currentThread().getName() + "：" + i);
                    }
                }
            }
        }.start();
    }
}

class MyThread01 extends Thread {
    // 重写Thread类的run()方法  -> 线程中需要完成的操作声明在run()方法中
    @Override
    public void run() {
        for(int i = 0;i < 100;i++) { // 遍历100以内的偶数
            if(i % 2 == 0){
                System.out.println(Thread.currentThread().getName() + "：" + i);
            }
        }
    }
}

class MyThread02 extends Thread {
    @Override
    public void run() {
        for(int i = 0;i < 100;i++) { // 遍历100以内的奇数
            if(i % 2 != 0){
                System.out.println(Thread.currentThread().getName() + "：" + i);
            }
        }
    }
}